/**
 * @addtogroup brd_flash_def
 * brd_flash_def
 * @{
 */
/**
 * @file brd_flash_def.h
 * @brief 板级层非易失性存储定义
 * @note
 * @par 修改日志
 * <table>
 * <tr><th>Date <th>Version <th>Author <th>Description
 * <tr><td>2020-10-20 <td>1.0 <td>软件工程院 <td>创建初始版本
 * @copyright 杭州鸿泉物联网技术股份有限公司
 */
#ifndef _BRD_FLASH_DEF_H_
#define _BRD_FLASH_DEF_H_

#ifdef __cplusplus
extern "C" {
#endif

/**
 * FLASH类型
 * @note:
 * kBrd_FlashIdS32k312: 型号为 S32K312,
 *      S32K312芯片由两部分可编程的FLASH空间:
 *      0x00400000~0x005D3FFF, CodeFlash, 总大小:1MB + 848KB, 扇区大小:8KB, 页大小:128B
 *      0x10000000~0x10015FFF, DataFlash, 总大小:88KB, 扇区大小:8KB, 页大小:128B
 *      使用上 offset 需要填写上述实际地址
 * kBrd_FlashIdBl24c128f: 容量为: 16KB, 无需擦除, 支持任意字节读写
 * kBrd_FlashIdSdNand, 型号为 芯天下 XTSDG01GWS1G, 容量:1Gbit, 实际为121M Byte; 
 *      扇区大小: 512字节, 页大小: 512字节
 *      sdnand可以不用擦除直接写
 * @note: 扇区大小为最小擦除单元, 页大小为最小读写单元
 */
enum Brd_TFlashIdTag {
    kBrd_FlashIdBase                        = 0,
    kBrd_FlashIdS32k312                     = kBrd_FlashIdBase,         ///< S32K312内部flash
    kBrd_FlashIdBl24c128f                   = 1,                        ///< EERROM
    kBrd_FlashIdSdNand                      = 2,                        ///< 片外 SDIO NAND FLASH
    kBrd_FlashIdMax,
};
typedef enum Brd_TFlashIdTag Brd_TFlashId;

#define BRD_FLASH_ID_S32K312
#define BRD_FLASH_ID_BL24C128F
#define BRD_FLASH_ID_SD_NAND

#ifdef __cplusplus
}  ///  < extern "C"
#endif

#endif // _BRD_FLASH_DEF_H_
/**
 * @} 
 */
